package com.yang.design.structure.decorator;


/**
 * 具体装饰类
 * 作用:它是抽象装饰类的子类,负责向构件添加新的职责
 */
public class ConcreteDecorator extends Decorator {

    //构造方法，调用的还是父类方法
    public ConcreteDecorator(Component component) {
        super(component);
    }

    //重写父类的方法，即完成对具体构建类的装饰(增强)
    @Override
    public void operation() {
        super.operation();//调用原有业务方法,即具体构建类的方法(父类Decorator的operation只是原封不动的调用了)
        addedBehavior();//调用新增业务方法
    }

    //新增业务方法
    private void addedBehavior(){
        System.out.println("具体装饰类方法执行，对具体构建类进行装饰！");
    }
}
